package com.bsg.upm.entity;

import java.io.Serializable;
import java.util.Date;

/**
 * 用户实体类
 * 
 * @author HCK
 *
 */
public class UserEntity implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 用户名
	 */
	private String username;

	/**
	 * 密码
	 */
	private String password;

	/**
	 * 用户姓名
	 */
	private String name;

	/**
	 * 联系电话
	 */
	private String telephone;

	/**
	 * 邮箱
	 */
	private String email;

	/**
	 * 所属单位
	 */
	private String company;

	/**
	 * 所属组别
	 */
	private UserGroupEntity userGroup;

	/**
	 * 所属用户角色
	 */
	private UserRoleEntity userRole;

	/**
	 * 启用
	 */
	private Boolean enabled;

	/**
	 * 验证方式
	 */
	private String authType;

	/**
	 * 自动审批
	 */
	private Boolean autoApprove;

	/**
	 * 备用联系人
	 */
	private String alternateContact;

	/**
	 * 备用联系人电话
	 */
	private String alternateContactTel;

	private String tag;

	/**
	 * 创建时间
	 */
	private Date createDatetime;

	/**
	 * 获取用户名
	 * 
	 * @return username 用户名
	 */
	public String getUsername() {
		return username;
	}

	/**
	 * 设置用户名
	 * 
	 * @param username
	 *            用户名
	 */
	public void setUsername(String username) {
		this.username = username;
	}

	/**
	 * 获取密码
	 * 
	 * @return password 密码
	 */
	public String getPassword() {
		return password;
	}

	/**
	 * 设置密码
	 * 
	 * @param password
	 *            密码
	 */
	public void setPassword(String password) {
		this.password = password;
	}

	/**
	 * 获取用户姓名
	 * 
	 * @return name 用户姓名
	 */
	public String getName() {
		return name;
	}

	/**
	 * 设置用户姓名
	 * 
	 * @param name
	 *            用户姓名
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 获取联系电话
	 * 
	 * @return telephone 联系电话
	 */
	public String getTelephone() {
		return telephone;
	}

	/**
	 * 设置联系电话
	 * 
	 * @param telephone
	 *            联系电话
	 */
	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}

	/**
	 * 获取邮箱
	 * 
	 * @return email 邮箱
	 */
	public String getEmail() {
		return email;
	}

	/**
	 * 设置邮箱
	 * 
	 * @param email
	 *            邮箱
	 */
	public void setEmail(String email) {
		this.email = email;
	}

	/**
	 * 获取所属单位
	 * 
	 * @return company 所属单位
	 */
	public String getCompany() {
		return company;
	}

	/**
	 * 设置所属单位
	 * 
	 * @param company
	 *            所属单位
	 */
	public void setCompany(String company) {
		this.company = company;
	}

	/**
	 * 获取所属组别
	 * 
	 * @return userGroup 所属组别
	 */
	public UserGroupEntity getUserGroup() {
		return userGroup;
	}

	/**
	 * 设置所属组别
	 * 
	 * @param userGroup
	 *            所属组别
	 */
	public void setUserGroup(UserGroupEntity userGroup) {
		this.userGroup = userGroup;
	}

	/**
	 * 获取所属用户角色
	 * 
	 * @return userRole 所属用户角色
	 */
	public UserRoleEntity getUserRole() {
		return userRole;
	}

	/**
	 * 设置所属用户角色
	 * 
	 * @param userRole
	 *            所属用户角色
	 */
	public void setUserRole(UserRoleEntity userRole) {
		this.userRole = userRole;
	}

	/**
	 * 获取启用
	 * 
	 * @return enabled 启用
	 */
	public Boolean getEnabled() {
		return enabled;
	}

	/**
	 * 设置启用
	 * 
	 * @param enabled
	 *            启用
	 */
	public void setEnabled(Boolean enabled) {
		this.enabled = enabled;
	}

	/**
	 * 获取验证方式
	 * 
	 * @return authType 验证方式
	 */
	public String getAuthType() {
		return authType;
	}

	/**
	 * 设置验证方式
	 * 
	 * @param authType
	 *            验证方式
	 */
	public void setAuthType(String authType) {
		this.authType = authType;
	}

	/**
	 * 获取自动审批
	 * 
	 * @return autoApprove 自动审批
	 */
	public Boolean getAutoApprove() {
		return autoApprove;
	}

	/**
	 * 设置自动审批
	 * 
	 * @param autoApprove
	 *            自动审批
	 */
	public void setAutoApprove(Boolean autoApprove) {
		this.autoApprove = autoApprove;
	}

	/**
	 * 获取备用联系人
	 * 
	 * @return alternateContact 备用联系人
	 */
	public String getAlternateContact() {
		return alternateContact;
	}

	/**
	 * 设置备用联系人
	 * 
	 * @param alternateContact
	 *            备用联系人
	 */
	public void setAlternateContact(String alternateContact) {
		this.alternateContact = alternateContact;
	}

	/**
	 * 获取备用联系人电话
	 * 
	 * @return alternateContactTel 备用联系人电话
	 */
	public String getAlternateContactTel() {
		return alternateContactTel;
	}

	/**
	 * 设置备用联系人电话
	 * 
	 * @param alternateContactTel
	 *            备用联系人电话
	 */
	public void setAlternateContactTel(String alternateContactTel) {
		this.alternateContactTel = alternateContactTel;
	}

	/**
	 * 获取tag
	 * 
	 * @return tag tag
	 */
	public String getTag() {
		return tag;
	}

	/**
	 * 设置tag
	 * 
	 * @param tag
	 *            tag
	 */
	public void setTag(String tag) {
		this.tag = tag;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createDatetime 创建时间
	 */
	public Date getCreateDatetime() {
		return createDatetime;
	}

	/**
	 * 设置创建时间
	 * 
	 * @param createDatetime
	 *            创建时间
	 */
	public void setCreateDatetime(Date createDatetime) {
		this.createDatetime = createDatetime;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "UserEntity [username=" + username + ", password=" + password + ", name=" + name + ", telephone="
				+ telephone + ", email=" + email + ", company=" + company + ", userGroup=" + userGroup + ", userRole="
				+ userRole + ", enabled=" + enabled + ", authType=" + authType + ", autoApprove=" + autoApprove
				+ ", alternateContact=" + alternateContact + ", alternateContactTel=" + alternateContactTel + ", tag="
				+ tag + ", createDatetime=" + createDatetime + "]";
	}

}
